package com.huashi.dealer.modular.business.user.param;

import com.huashi.dealer.commonEntity.StoreUser;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.math.BigDecimal;
import java.util.List;

/**
 * 用户信息
 *
 * @author 谭陈强
 * @since 2025-07-30
 */
@Data
@Schema(description = "用户信息")
public class UserInfo {

    @Schema(description = "用户ID")
    private Long userId;

    @Schema(description = "业务员ID")
    private Long storeUserId;

    @Schema(description = "昵称")
    private String nickName;

    @Schema(description = "头像")
    private String avatarUrl;

    @Schema(description = "性别")
    private String gender;

    /**
     * 返利余额
     */
    @Schema(description = "返利余额")
    private String rebate;

    /**
     * 核销账户
     */
    @Schema(description = "核销账户")
    private String writeoff;

    @Schema(description = "国家")
    private String country;

    @Schema(description = "省ID")
    private Integer provinceId;

    @Schema(description = "市ID")
    private Integer cityId;

    @Schema(description = "区ID")
    private Integer regionId;

    @Schema(description = "收货地址ID")
    private Integer addressId;

    @Schema(description = "用户可用余额")
    private String balance;

    @Schema(description = "用户可用积分")
    private Integer points;

    @Schema(description = "用户总支付的金额")
    private String payMoney;

    @Schema(description = "实际消费的金额(不含退款)")
    private String expendMoney;

    @Schema(description = "销售额（本年目标）")
    private String salesMoney;

    @Schema(description = "等级ID")
    private Integer gradeId;

    @Schema(description = "用户令牌")
    private String token;

    @Schema(description = "手机号")
    private String mobile;

    @Schema(description = "真实姓名")
    private String realName;

    @Schema(description = "账号")
    private String account;

    @Schema(description = "密码")
    private String password;

    @Schema(description = "地址列表")
    private List<UserAddressVo> address;

    @Schema(description = "默认收货地址")
    private UserAddressVo addressDefault;

    @Schema(description = "省市区详细信息")
    private RegionInfo region;

    @Schema(description = "销售目标完成百分比")
    private String percentage;

    @Schema(description = "是否有未读消息(0否 1是)")
    private Integer isMessage;

    @Schema(description = "业务员信息")
    private StoreUser storeUser;
} 